Skip to main content

Environment Variables

# Server URL - Set your application url

SERVER_URL=API-DOMAIN

# Cors - \* for all or set separate by commas - ex.: 'yourdomain1.com, yourdomain2.com'

CORS_ORIGIN=\*
CORS_METHODS=POST,GET,PUT,DELETE
CORS_CREDENTIALS=true

# Determine the logs to be displayed

LOG_LEVEL=ERROR,WARN,DEBUG,INFO,LOG,VERBOSE,DARK,WEBHOOKS
LOG_COLOR=true

# Log Baileys - "fatal" | "error" | "warn" | "info" | "debug" | "trace"

LOG_BAILEYS=error

# Determine how long the instance should be deleted from memory in case of no connection.

# Default time: 5 minutes

# If you don't even want an expiration, enter the value false

DEL_INSTANCE=false

# Temporary data storage

STORE_MESSAGES=true
STORE_MESSAGE_UP=true
STORE_CONTACTS=true
STORE_CHATS=true

# Set Store Interval in Seconds (7200 = 2h)

CLEAN_STORE_CLEANING_INTERVAL=7200
CLEAN_STORE_MESSAGES=true
CLEAN_STORE_MESSAGE_UP=true
CLEAN_STORE_CONTACTS=true
CLEAN_STORE_CHATS=true

# Permanent data storage

DATABASE_ENABLED=false
DATABASE_CONNECTION_URI=mongodb://root:root@mongodb:27017/?authSource=admin&readPreference=primary&ssl=false&directConnection=true
DATABASE_CONNECTION_DB_PREFIX_NAME=evdocker

# Choose the data you want to save in the application's database or store

DATABASE_SAVE_DATA_INSTANCE=false
DATABASE_SAVE_DATA_NEW_MESSAGE=false
DATABASE_SAVE_MESSAGE_UPDATE=false
DATABASE_SAVE_DATA_CONTACTS=false
DATABASE_SAVE_DATA_CHATS=false

REDIS_ENABLED=false
REDIS_URI=redis://redis:6379
REDIS_PREFIX_KEY=evdocker

RABBITMQ_ENABLED=false
RABBITMQ_URI=amqp://guest:guest@rabbitmq:5672

WEBSOCKET_ENABLED=false

# Global Webhook Settings

# Each instance's Webhook URL and events will be requested at the time it is created

## Define a global webhook that will listen for enabled events from all instances

WEBHOOK_GLOBAL_URL=<url>
WEBHOOK_GLOBAL_ENABLED=false

# With this option activated, you work with a url per webhook event, respecting the global url and the name of each event

WEBHOOK_GLOBAL_WEBHOOK_BY_EVENTS=false

## Set the events you want to hear

WEBHOOK_EVENTS_APPLICATION_STARTUP=false
WEBHOOK_EVENTS_QRCODE_UPDATED=true
WEBHOOK_EVENTS_MESSAGES_SET=true
WEBHOOK_EVENTS_MESSAGES_UPSERT=true
WEBHOOK_EVENTS_MESSAGES_UPDATE=true
WEBHOOK_EVENTS_MESSAGES_DELETE=true
WEBHOOK_EVENTS_SEND_MESSAGE=true
WEBHOOK_EVENTS_CONTACTS_SET=true
WEBHOOK_EVENTS_CONTACTS_UPSERT=true
WEBHOOK_EVENTS_CONTACTS_UPDATE=true
WEBHOOK_EVENTS_PRESENCE_UPDATE=true
WEBHOOK_EVENTS_CHATS_SET=true
WEBHOOK_EVENTS_CHATS_UPSERT=true
WEBHOOK_EVENTS_CHATS_UPDATE=true
WEBHOOK_EVENTS_CHATS_DELETE=true
WEBHOOK_EVENTS_GROUPS_UPSERT=true
WEBHOOK_EVENTS_GROUPS_UPDATE=true
WEBHOOK_EVENTS_GROUP_PARTICIPANTS_UPDATE=true
WEBHOOK_EVENTS_CONNECTION_UPDATE=true
WEBHOOK_EVENTS_CALL=true

# This event fires every time a new token is requested via the refresh route

WEBHOOK_EVENTS_NEW_JWT_TOKEN=false

# Name that will be displayed on smartphone connection

CONFIG_SESSION_PHONE_CLIENT=Evolution API

# Browser Name = chrome | firefox | edge | opera | safari

CONFIG_SESSION_PHONE_NAME=chrome

# Set qrcode display limit

QRCODE_LIMIT=30
QRCODE_COLOR=#198754

# Defines an authentication type for the api

# We recommend using the apikey because it will allow you to use a custom token,

# if you use jwt, a random token will be generated and may be expired and you will have to generate a new token

# jwt or 'apikey'

AUTHENTICATION_TYPE=apikey

## Define a global apikey to access all instances.

### OBS: This key must be inserted in the request header to create an instance.

AUTHENTICATION_API_KEY=GLOBAL-API-KEY
AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES=true

## Set the secret key to encrypt and decrypt your token and its expiration time

# seconds - 3600s ===1h | zero (0) - never expires

AUTHENTICATION_JWT_EXPIRIN_IN=0
AUTHENTICATION_JWT_SECRET='L=0YWt]b2w[WF>#>:&E`'